===> remap guncon data around here


; data address
8005179c : 8FA90018  LW      800e4c24 (t1), 0018 (801fff80 (sp)) [801fff98]
800517a0 : 00000000  NOP    
800517a4 : 000918C0  SLL     800ce218 (v1), 00000000 (t1), 03 (3),
800517a8 : 8FA90030  LW      00000000 (t1), 0030 (801fff80 (sp)) [801fffb0]
800517ac : 24630000  ADDIU   00000000 (v1), 00000000 (v1), 0000 (0),
800517b0 : 01231821  ADDU    00000000 (v1), 800e4c24 (t1), 00000000 (v1),

800517b4 : 90620002  LBU     00000000 (v0), 0002 (800e4c24 (v1)) [800e4c26]
800517b8 : 90640003  LBU     000d0ec4 (a0), 0003 (800e4c24 (v1)) [800e4c27]
800517bc : 8FA90018  LW      800e4c24 (t1), 0018 (801fff80 (sp)) [801fff98]
800517c0 : 00021200  SLL     000000ff (v0), 000000ff (v0), 08 (8),
800517c4 : 00441027  NOR     0000ff00 (v0), 0000ff00 (v0), 000000ff (a0),
800517c8 : A7A20020  SH      ffff0000 (v0), 0020 (801fff80 (sp)) [801fffa0]
800517cc : 3C02800E  LUI     ffff0000 (v0), 800e (32782),
800517d0 : 24424AF0  ADDIU   800e0000 (v0), 800e0000 (v0), 4af0 (19184),
800517d4 : 02C21021  ADDU    800e4af0 (v0), 00000000 (s6), 800e4af0 (v0),
800517d8 : 97B00020  LHU     a000b870 (s0), 0020 (801fff80 (sp)) [801fffa0]



800517dc : 90630001  LBU     800e4c24 (v1), 0001 (800e4c24 (v1)) [800e4c25]
800517e0 : 00491021  ADDU    800e4af0 (v0), 800e4af0 (v0), 00000000 (t1),
800517e4 : A0430000  SB      00000031 (v1), 0000 (800e4af0 (v0)) [800e4af0]

800517e8 : 90430000  LBU     00000031 (v1), 0000 (800e4af0 (v0)) [800e4af0]
800517ec : 34020012  ORI     800e4af0 (v0), 00000000 (r0), 0012 (18),
800517f0 : 1062000F  BEQ     00000031 (v1), 00000012 (v0), 80051830,
800517f4 : 00004021  ADDU    50000000 (t0), 00000000 (r0), 00000000 (r0),
800517f8 : 28620013  SLTI    00000012 (v0), 00000031 (v1), 0013 (19),
800517fc : 10400005  BEQ     00000000 (v0), 00000000 (r0), 80051814,
80051800 : 00000000  NOP    

; justifier ID
80051814 : 34020031  ORI     00000000 (v0), 00000000 (r0), 0031 (49),

80051818 : 10620152  BEQ     00000031 (v1), 00000031 (v0), 80051d64,
8005181c : 34020041  ORI     00000031 (v0), 00000000 (r0), 0041 (65),
=====>

player 1
e4c25 = id
e4c26-27 = buttons


player 2
e4c47 = id



; don't remap here - shared code (!!!)
80051d64 : 3C01800D  LUI     800e4c24 (at), 800d (32781),
80051d68 : 24210026  ADDIU   800d0000 (at), 800d0000 (at), 0026 (38),
80051d6c : 00350821  ADDU    800d0026 (at), 800d0026 (at), 000005e8 (s5),

; don't draw cursor
80051d70 : A0200000  SB      00000000 (r0), 0000 (800d060e (at)) [800d060e]





80051d74 : 3C04800E  LUI     000000ff (a0), 800e (32782),
80051d78 : 248449F0  ADDIU   800e0000 (a0), 800e0000 (a0), 49f0 (18928),
80051d7c : 3C03800E  LUI     00000031 (v1), 800e (32782),
80051d80 : 24634A44  ADDIU   800e0000 (v1), 800e0000 (v1), 4a44 (19012),
80051d84 : 03C31821  ADDU    800e4a44 (v1), 00000000 (fp), 800e4a44 (v1),
80051d88 : 94620000  LHU     00000041 (v0), 0000 (800e4a44 (v1)) [800e4a44]
80051d8c : 03C42021  ADDU    800e49f0 (a0), 00000000 (fp), 800e49f0 (a0),
80051d90 : A4820000  SH      00000000 (v0), 0000 (800e49f0 (a0)) [800e49f0]
80051d94 : A4700000  SH      00000000 (s0), 0000 (800e4a44 (v1)) [800e4a44]
80051d98 : 94820000  LHU     00000000 (v0), 0000 (800e49f0 (a0)) [800e49f0]
80051d9c : 00000000  NOP    
80051da0 : 00021027  NOR     00000000 (v0), 00000000 (r0), 00000000 (v0),
80051da4 : 00501024  AND     ffffffff (v0), ffffffff (v0), 00000000 (s0),
80051da8 : 3C01800E  LUI     800d060e (at), 800e (32782),
80051dac : 242149FC  ADDIU   800e0000 (at), 800e0000 (at), 49fc (18940),
80051db0 : 003E0821  ADDU    800e49fc (at), 800e49fc (at), 00000000 (fp),
80051db4 : A4220000  SH      00000000 (v0), 0000 (800e49fc (at)) [800e49fc]
80051db8 : 94620000  LHU     00000000 (v0), 0000 (800e4a44 (v1)) [800e4a44]
80051dbc : 94830000  LHU     800e4a44 (v1), 0000 (800e49f0 (a0)) [800e49f0]
80051dc0 : 00021027  NOR     00000000 (v0), 00000000 (r0), 00000000 (v0),







; justifier latch (p1 then p2)

800511b4 : 90220000  LBU     00000000 (v0), 0000 (80022160 (at)) [80022160]
800511b8 : 00000000  NOP    

===> set latch to 0 add
800511bc : 24420001  ADDIU   000000cf (v0), 000000cf (v0), 0001 (1),

800511c0 : 3C018002  LUI     80022160 (at), 8002 (32770),
800511c4 : 24212160  ADDIU   80020000 (at), 80020000 (at), 2160 (8544),
800511c8 : 00280821  ADDU    80022160 (at), 80022160 (at), 00000000 (t0),
800511cc : A0220000  SB      000000d0 (v0), 0000 (80022160 (at)) [80022160]



8005de10 : 3C018002  LUI     800d0000 (at), 8002 (32770),
8005de14 : 24212160  ADDIU   80020000 (at), 80020000 (at), 2160 (8544),
8005de18 : 00300821  ADDU    80022160 (at), 80022160 (at), 00000000 (s0),

===> remove latch reset
8005de1c : A0200000  SB      00000000 (r0), 0000 (80022160 (at)) [80022160]







; ......triggers something with stage select
8005e354 : 92230014  LBU     00000062 (v1), 0014 (800fc170 (s1)) [800fc184]
8005e358 : 34020001  ORI     00610000 (v0), 00000000 (r0), 0001 (1),
8005e35c : 1062003B  BEQ     00000002 (v1), 00000001 (v0), 8005e44c,
8005e360 : 28620002  SLTI    00000001 (v0), 00000002 (v1), 0002 (2),
8005e364 : 10400005  BEQ     00000000 (v0), 00000000 (r0), 8005e37c,
8005e368 : 00000000  NOP    
8005e37c : 34020002  ORI     00000000 (v0), 00000000 (r0), 0002 (2),
8005e380 : 1062003B  BEQ     00000002 (v1), 00000002 (v0), 8005e470,
8005e384 : 34080003  ORI     00000505 (t0), 00000000 (r0), 0003 (3),
8005e470 : A2E00000  SB      00000000 (r0), 0000 (800fc184 (s7)) [800fc184]
8005e474 : 8FA80038  LW      00000003 (t0), 0038 (801fff78 (sp)) [801fffb0]
8005e478 : 00000000  NOP    



8005e47c : 3C018002  LUI     8002218c (at), 8002 (32770),
8005e480 : 24211C5B  ADDIU   80020000 (at), 80020000 (at), 1c5b (7259),
8005e484 : 00280821  ADDU    80021c5b (at), 80021c5b (at), 00000505 (t0),


; check onscreen shot (latch value = 0)
; - 22160 = p1
; - 22161 = p2
8005e488 : 90220000  LBU     00000002 (v0), 0000 (80022160 (at)) [80022160]
8005e48c : 00000000  NOP    
8005e490 : 10400016  BEQ     000000d7 (v0), 00000000 (r0), 8005e4ec,
8005e494 : 00000000  NOP    

====>

; onscreen shot (1)? always fc185
8005e4ec : 92220015  LBU     00000000 (v0), 0015 (800fc170 (s1)) [800fc185]
8005e4f0 : 00000000  NOP    
8005e4f4 : 14400006  BNE     00000006 (v0), 00000000 (r0), 8005e510,

====> force guncon ID here
8005e4f8 : 34020031  ORI     00000006 (v0), 00000000 (r0), 0031 (49),
(..)

8005e510 : 8FA80040  LW      00000505 (t0), 0040 (801fff78 (sp)) [801fffb8]
8005e514 : 00000000  NOP    
8005e518 : 3C01800E  LUI     80022160 (at), 800e (32782),
8005e51c : 24214C25  ADDIU   800e0000 (at), 800e0000 (at), 4c25 (19493),
8005e520 : 00280821  ADDU    800e4c25 (at), 800e4c25 (at), 00000000 (t0),

; justifier check
8005e524 : 90230000  LBU     00000002 (v1), 0000 (800e4c25 (at)) [800e4c25]
8005e528 : 00000000  NOP    
8005e52c : 14620023  BNE     00000012 (v1), 00000031 (v0), 8005e5bc,
8005e530 : 00000000  NOP    





[800e4c08] = p1 x (justifier) [a0]
[800e4c0c] = p2 x (justifier) [a0]
[800e4c10] = p1 y (justifier) [78]
[800e4c14] = p2 y (justifier) [78]

8005e534 : 3C02800E  LUI     00000031 (v0), 800e (32782),
8005e538 : 24424C08  ADDIU   800e0000 (v0), 800e0000 (v0), 4c08 (19464),
8005e53c : 02A21021  ADDU    800e4c08 (v0), 00000000 (s5), 800e4c08 (v0),
8005e540 : 8C420000  LW      800e4c08 (v0), 0000 (800e4c08 (v0)) [800e4c08]
8005e544 : 3C01800E  LUI     800e4c25 (at), 800e (32782),
8005e548 : 24214AE0  ADDIU   800e0000 (at), 800e0000 (at), 4ae0 (19168),
8005e54c : 00350821  ADDU    800e4ae0 (at), 800e4ae0 (at), 00000000 (s5),
8005e550 : 8C230000  LW      00000031 (v1), 0000 (800e4ae0 (at)) [800e4ae0]
8005e554 : 3C048002  LUI     00000000 (a0), 8002 (32770),
8005e558 : 84840890  LH      80020000 (a0), 0890 (80020000 (a0)) [80020890]
8005e55c : 00431023  SUBU    00000000 (v0), 00000000 (v0), 000000a0 (v1),
8005e560 : 00441023  SUBU    ffffff60 (v0), ffffff60 (v0), 00000000 (a0),
8005e564 : 3C018010  LUI     800e4ae0 (at), 8010 (32784),
8005e568 : 2421C284  ADDIU   80100000 (at), 80100000 (at), c284 (49796),
8005e56c : 00350821  ADDU    800fc284 (at), 800fc284 (at), 00000000 (s5),
8005e570 : AC220000  SW      ffffff60 (v0), 0000 (800fc284 (at)) [800fc284]
8005e574 : 3C02800E  LUI     ffffff60 (v0), 800e (32782),
8005e578 : 24424C10  ADDIU   800e0000 (v0), 800e0000 (v0), 4c10 (19472),
8005e57c : 02A21021  ADDU    800e4c10 (v0), 00000000 (s5), 800e4c10 (v0),
8005e580 : 8C420000  LW      800e4c10 (v0), 0000 (800e4c10 (v0)) [800e4c10]
8005e584 : 3C01800E  LUI     800fc284 (at), 800e (32782),
8005e588 : 24214AE8  ADDIU   800e0000 (at), 800e0000 (at), 4ae8 (19176),
8005e58c : 00350821  ADDU    800e4ae8 (at), 800e4ae8 (at), 00000000 (s5),
8005e590 : 8C230000  LW      000000a0 (v1), 0000 (800e4ae8 (at)) [800e4ae8]
8005e594 : 3C048002  LUI     00000000 (a0), 8002 (32770),
8005e598 : 84840892  LH      80020000 (a0), 0892 (80020000 (a0)) [80020892]
8005e59c : 00431023  SUBU    00000000 (v0), 00000000 (v0), 00000078 (v1),
8005e5a0 : 00441023  SUBU    ffffff88 (v0), ffffff88 (v0), 00000014 (a0),
8005e5a4 : 3C018010  LUI     800e4ae8 (at), 8010 (32784),
8005e5a8 : 2421C290  ADDIU   80100000 (at), 80100000 (at), c290 (49808),
8005e5ac : 00350821  ADDU    800fc290 (at), 800fc290 (at), 00000000 (s5),
8005e5b0 : AC220000  SW      ffffff74 (v0), 0000 (800fc290 (at)) [800fc290]
8005e5b4 : 0801797F  J       8005e5fc,
8005e5b8 : 00000000  NOP    
